package com.yznote.cloudesk.common.utils;

import com.yznote.cloudesk.common.pojo.Result;
import java.util.ArrayList;
import java.util.List;

public class YDUtils {
    /**
     * @param pageNum  页码从1开始
     * @param pageSize
     * @param data
     * @param <T>
     * @return
     */
    public static <T> Result<List<T>> toPage(Integer pageNum, Integer pageSize, List<T> data) {
        if (pageSize == null || pageNum == null) return Result.success(data);
        else {
            if ((pageNum - 1) * pageSize >= data.size()) {
                return Result.success(new ArrayList<>());
            } else if ((pageNum * pageSize) > data.size()) {
                return Result.success(data.subList((pageNum - 1) * pageSize, data.size()));
            }
            return Result.success(data.subList((pageNum - 1) * pageSize, pageNum * pageSize));
        }
    }


    public static <T> List<T> toListPage(Integer pageNum, Integer pageSize, List<T> data) {
        if (pageSize == null || pageNum == null) return data;
        else {
            if ((pageNum - 1) * pageSize >= data.size()) {
                return new ArrayList<>();
            } else if ((pageNum * pageSize) > data.size()) {
                return data.subList((pageNum - 1) * pageSize, data.size());
            }
            return data.subList((pageNum - 1) * pageSize, pageNum * pageSize);
        }
    }
}
